package com.qf.fc.vo;

import com.qf.fc.type.RCode;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

//统一结果类
@Data
@NoArgsConstructor
@AllArgsConstructor
public class R<T> {
    private Integer code;

    private String msg;

    private T data;

    /**
     * 成功
     * @param data
     * @return
     * @param <T>
     */
    public static <T> R<T> ok(T data){
        if(data==null){
            return  new R<>(RCode.成功.getCode(), "操作成功",null);
        }
        return  new R<>(RCode.成功.getCode(), "操作成功",data);
    }

    /**
     * 失败
     * @param data
     * @return
     * @param <T>
     */
    public static <T> R<T> fail(T data){
        return  new R<>(RCode.失败.getCode(), "操作失败",data);
    }
}
